import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import AutoImport from "unplugin-auto-import/vite";
import Components from "unplugin-vue-components/vite";
import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
import ElementPlus from "unplugin-element-plus/vite";
import { resolve } from "path";

// API基础地址配置
// ⚠️ 注意：如需修改API地址，请优先修改 src/config/api.js 中的默认值
// 开发环境：使用完整API地址 http://101.34.91.55:8090
// 生产环境：使用空字符串，跟随当前域名
const API_BASE_URL =
  process.env.VITE_API_BASE_URL;

export default defineConfig({
  plugins: [
    vue(),
    AutoImport({
      imports: ["vue", "vue-router", "pinia"],
      resolvers: [ElementPlusResolver()],
      dts: true,
    }),
    Components({
      resolvers: [ElementPlusResolver()],
      dts: true,
    }),
    ElementPlus({
      // 按需引入样式
      useSource: true,
    }),
  ],
  resolve: {
    alias: {
      "@": resolve(__dirname, "src"),
    },
  },
  css: {
    preprocessorOptions: {
      scss: {
        silenceDeprecations: ["legacy-js-api"],
      },
      sass: {
        silenceDeprecations: ["legacy-js-api"],
      },
    },
  },
  server: {
    port: 3000,
    open: true,
    // 开发环境：直接调用完整API地址，不需要代理
    // 生产环境：使用相对路径，也不需要代理
  },
  // 定义环境变量，供代码中使用
  define: {
    // 开发环境：使用完整API地址 http://101.34.91.55:8090
    // 生产环境：使用空字符串，跟随当前域名
    "import.meta.env.VITE_API_BASE_URL": JSON.stringify(
      process.env.VITE_API_BASE_URL || (process.env.NODE_ENV === "development" ? API_BASE_URL : "")
    ),
  },
});
